patch from vishnu@pobox.com (Joshua N Pritikin) to fix math and an
authorJonathan Blandford <jrb@redhat.com>
Mon, 3 Sep 2001 08:41:06 +0000 (08:41 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Mon, 3 Sep 2001 08:41:06 +0000 (08:41 +0000)
Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>

* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
#59731

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreeview.c

index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 534b95f0e66f89f99b56db44fe43c3c5777fb6db..e087da58533732b655a8a9917da68a455a0424e7 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
+       vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
+       #59731
+
 Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
index 5871fd3193449bc440985026727fc08a030de607..81ed3aa897a79c657345b395bf251c883fb62e6d 100644 (file)
@@ -7034,6 +7034,7 @@ gtk_tree_view_scroll_to_cell (GtkTreeView       *tree_view,
   GdkRectangle cell_rect;
   GdkRectangle vis_rect;
   gint dest_x, dest_y;
+  gfloat within_margin = 0;
 
   /* FIXME work on unmapped/unrealized trees? maybe implement when
    * we do incremental reflow for trees
@@ -7074,10 +7075,10 @@ gtk_tree_view_scroll_to_cell (GtkTreeView       *tree_view,
        }
       else
        {
-         if (dest_x < vis_rect.x)
-           dest_x = vis_rect.x;
-         else if (dest_x + cell_rect.width > vis_rect.x + vis_rect.width)
-           dest_x = vis_rect.x + vis_rect.width - cell_rect.width;
+         if (cell_rect.x < vis_rect.x)
+           dest_x = cell_rect.x - vis_rect.width * within_margin;
+         else if (cell_rect.x + cell_rect.width > vis_rect.x + vis_rect.width)
+           dest_x = cell_rect.x + cell_rect.width - vis_rect.width * (1 - within_margin);
        }
     }
 
@@ -7089,10 +7090,10 @@ gtk_tree_view_scroll_to_cell (GtkTreeView       *tree_view,
        }
       else
        {
-         if (dest_y < vis_rect.y)
-           dest_y = vis_rect.y;
-         else if (dest_y + cell_rect.height > vis_rect.y +  vis_rect.height)
-           dest_y = vis_rect.y + vis_rect.height - cell_rect.height;
+         if (cell_rect.y < vis_rect.y)
+           dest_y = cell_rect.y - vis_rect.height * within_margin;
+         else if (cell_rect.y + cell_rect.height > vis_rect.y + vis_rect.height)
+           dest_y = cell_rect.y + cell_rect.height - vis_rect.height * (1 - within_margin);
        }
     }
 
@@ -7929,7 +7930,7 @@ gtk_tree_view_get_cell_area (GtkTreeView        *tree_view,
   g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
   g_return_if_fail (column == NULL || GTK_IS_TREE_VIEW_COLUMN (column));
   g_return_if_fail (rect != NULL);
-  g_return_if_fail (column->tree_view == (GtkWidget *) tree_view);
+  g_return_if_fail (!column || column->tree_view == (GtkWidget *) tree_view);
   g_return_if_fail (GTK_WIDGET_REALIZED (tree_view));
 
   gtk_widget_style_get (GTK_WIDGET (tree_view), "vertical_separator", &vertical_separator, NULL);